package com.mdd.generator.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 代码生成业务实体
 */
@Data
@TableName("sys_gen_table")
public class GenTable implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value="id", type= IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "表名称")
    private String tableName;
    @ApiModelProperty(value = "表描述")
    private String tableComment;
    @ApiModelProperty(value = "关联表名称")
    private String subTableName;
    @ApiModelProperty(value = "关联表外键")
    private String subTableFk;
    @ApiModelProperty(value = "关联表主键")
    private String subTableFr;
    @ApiModelProperty(value = "作者的名称")
    private String authorName;
    @ApiModelProperty(value = "实体的名称")
    private String entityName;
    @ApiModelProperty(value = "生成模块名")
    private String moduleName;
    @ApiModelProperty(value = "生成功能名")
    private String functionName;
    @ApiModelProperty(value = "树主键字段")
    private String treePrimary;
    @ApiModelProperty(value = "树父级字段")
    private String treeParent;
    @ApiModelProperty(value = "树显示字段")
    private String treeName;
    @ApiModelProperty(value = "生成模板方式: [crud=单表, tree=树表]")
    private String genTpl;
    @ApiModelProperty(value = "生成代码方式: [0=zip压缩包, 1=自定义路径]")
    private Integer genType;
    @ApiModelProperty(value = "生成代码路径: [不填默认项目路径]")
    private String genPath;
    @ApiModelProperty(value = "菜单状态: [1=自动构建, 2=手动添加]")
    private Integer menuStatus;
    @ApiModelProperty(value = "菜单父级")
    private Integer menuPid;
    @ApiModelProperty(value = "菜单名称")
    private String menuName;
    @ApiModelProperty(value = "备注信息")
    private String remarks;
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

}
